﻿<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:m="clr-namespace:Milkify"
    xmlns:md="clr-namespace:Milkify.Data">

    <!-- 
    ***************************************************************************
    Main Window Styles
    ***************************************************************************
    -->
    
    <!-- Window and window border -->
    <Style x:Key="MainWindowStyle" TargetType="{x:Type Window}">
    </Style>
    <Style x:Key="MainWindowBorderStyle" TargetType="{x:Type Border}">
    </Style>
    <Style x:Key="MainWindowInnerStyle" TargetType="{x:Type Panel}">
    </Style>

    <!-- The title bar area -->
    <Style x:Key="TitleBarStyle" TargetType="{x:Type Panel}"></Style>
    <Style x:Key="ApplicationTitleStyle" TargetType="{x:Type Label}"></Style>
    <Style x:Key="AccountNameStyle" TargetType="{x:Type Label}"></Style>
    <Style x:Key="AccountHyperlinkStyle" TargetType="{x:Type TextBlock}"></Style>
    <Style x:Key="AboutButtonStyle" TargetType="{x:Type Button}"></Style>
    <Style x:Key="MinimizeButtonStyle" TargetType="{x:Type Button}"></Style>
    <Style x:Key="CloseButtonStyle" TargetType="{x:Type Button}"></Style>

    <!-- The main content area -->
    <Style x:Key="ContentStyle" TargetType="{x:Type ContentControl}"></Style>

    <!-- The main content's header area -->
    <Style x:Key="ContentHeaderStyle" TargetType="{x:Type Panel}"></Style>
    <Style x:Key="BackButtonStyle" TargetType="{x:Type Button}"></Style>
    <Style x:Key="PageTitleTextStyle" TargetType="{x:Type TextBlock}"></Style>
    <Style x:Key="HomeButtonStyle" TargetType="{x:Type Button}"></Style>
    <Style x:Key="RefreshButtonStyle" TargetType="{x:Type Button}"></Style>
    
    <!-- The panel at the bottom that contains the search area, add task button, etc. -->
    <Style x:Key="FunctionsBarStyle"></Style>
    
    <!-- Progress bar that shows the ongoing web requests progress -->
    <Style x:Key="RequestProgressStyle" TargetType="{x:Type ProgressBar}"></Style>


    <!-- 
    ***************************************************************************
    Page Content Styles
    ***************************************************************************
    -->
    
    <!-- Authentication page styles -->
    <Style x:Key="AuthenticateLinkStyle" TargetType="{x:Type TextBlock}"></Style>
    
    <!-- The special buttons -->
    <Style x:Key="TaskListButtonStyle" TargetType="{x:Type Button}"></Style>
    <Style x:Key="TaskButtonStyle" TargetType="{x:Type Button}"></Style>
    <Style x:Key="TaskNoteButtonStyle" TargetType="{x:Type Button}"></Style>

    <!-- The special lists -->
    <Style x:Key="ScrollingItemsControlStyle" TargetType="{x:Type ItemsControl}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <ScrollViewer VerticalScrollBarVisibility="Auto">
                        <ItemsPresenter />
                    </ScrollViewer>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    <Style x:Key="HomeListStyle" TargetType="{x:Type ItemsControl}" BasedOn="{StaticResource ScrollingItemsControlStyle}"></Style>
    <Style x:Key="WeekListStyle" TargetType="{x:Type ItemsControl}" BasedOn="{StaticResource ScrollingItemsControlStyle}"></Style>
    <Style x:Key="TaskListStyle" TargetType="{x:Type ItemsControl}" BasedOn="{StaticResource ScrollingItemsControlStyle}"></Style>
    <Style x:Key="TaskListListStyle" TargetType="{x:Type ItemsControl}" BasedOn="{StaticResource ScrollingItemsControlStyle}"></Style>
    <Style x:Key="TaskNoteListStyle" TargetType="{x:Type ItemsControl}" BasedOn="{StaticResource ScrollingItemsControlStyle}"></Style>
    
    <Style x:Key="TaskListSortAndFilterPanelStyle" TargetType="{x:Type Panel}"></Style>
    <Style x:Key="TaskListFunctionsPanelStyle" TargetType="{x:Type Panel}"></Style>
    
    <!-- Task panel -->
    <Style x:Key="TaskPanelStyle" TargetType="{x:Type Panel}"></Style>
    <Style x:Key="TaskPropertyTextStyle" TargetType="{x:Type TextBlock}"></Style>
    <Style x:Key="TaskTagsPopupStyle" TargetType="{x:Type Popup}"></Style>
    <Style x:Key="TaskTagsPopupListStyle" TargetType="{x:Type ListBox}"></Style>
    
    <!-- Task note panel -->
    <Style x:Key="TaskNotePanelStyle" TargetType="{x:Type Panel}"></Style>
    <Style x:Key="TaskNoteTitleStyle" TargetType="{x:Type TextBlock}"></Style>
    <Style x:Key="TaskNoteDateStyle" TargetType="{x:Type TextBlock}"></Style>
    <Style x:Key="TaskNoteBodyAbstractStyle" TargetType="{x:Type TextBlock}"></Style>
    <Style x:Key="TaskNoteBodyStyle" TargetType="{x:Type TextBlock}"></Style>


    <!-- 
    ***************************************************************************
    Miscellaneous Styles
    ***************************************************************************
    -->
    
    <!-- Tooltip styles -->
    <Style x:Key="TooltipBorderStyle" TargetType="{x:Type Border}"></Style>

    <!-- Text content -->
    <Style x:Key="HeadingTextStyle1" TargetType="{x:Type TextBlock}"></Style>
    <Style x:Key="HeadingTextStyle2" TargetType="{x:Type TextBlock}"></Style>
    <Style x:Key="ParagraphTextStyle" TargetType="{x:Type TextBlock}"></Style>
    <Style x:Key="ErrorTextStyle" TargetType="{x:Type TextBlock}"></Style>
    <Style x:Key="TaskCheckBoxStyle" TargetType="{x:Type CheckBox}"></Style>
    <Style x:Key="TaskPriorityTextStyle" TargetType="{x:Type Label}"></Style>
    <Style x:Key="TaskRecurrenceIconStyle" TargetType="{x:Type Label}"></Style>
    
    <!-- Task list controls -->
    <Style x:Key="TaskListFilterComboStyle" TargetType="{x:Type ComboBox}"></Style>
    <Style x:Key="TaskListSortComboStyle" TargetType="{x:Type ComboBox}"></Style>
    
    <!-- Task controls -->
    <Style x:Key="TaskListComboStyle" TargetType="{x:Type ComboBox}"></Style>
    <Style x:Key="TaskPriorityComboStyle" TargetType="{x:Type ComboBox}"></Style>
    <Style x:Key="TaskLocationComboStyle" TargetType="{x:Type ComboBox}"></Style>

    
    <!-- 
    ***************************************************************************
    Popup Window Styles
    ***************************************************************************
    -->
    
    <!-- Window and window border -->
    <Style x:Key="PopupWindowStyle" TargetType="{x:Type Window}"></Style>
    <Style x:Key="PopupWindowBorderStyle" TargetType="{x:Type Border}"></Style>
    <Style x:Key="PopupWindowInnerStyle" TargetType="{x:Type Panel}"></Style>

    <!-- Text content -->
    <Style x:Key="PopupHeadingTextStyle1" TargetType="{x:Type TextBlock}"></Style>

    <!-- Special lists -->
    <Style x:Key="PopupLabelListStyle" TargetType="{x:Type ListBox}"></Style>

</ResourceDictionary>